From e5d046c90c565f4a60437181d21c169f53b37160 Mon Sep 17 00:00:00 2001 From: Erik Moeller Date: Sat, 3 Apr 2004 07:04:20 +0000 Subject: [PATCH] Fix toolbar scrolling bug in Mozilla, toolbar can now be safely and fully used in Moz --- includes/Skin.php | 2 +- languages/Language.php | 2 -- stylesheets/wikibits.js | 47 ++++++++++++++++++++--------------------- 3 files changed, 24 insertions(+), 27 deletions(-) diff --git a/includes/Skin.php b/includes/Skin.php index a002ee5c25..429efdf849 100644 --- a/includes/Skin.php +++ b/includes/Skin.php @@ -2405,7 +2405,7 @@ class Skin { $toolbar.="addButton('$image','$tip','$open','$close','$sample');\n"; } - $toolbar.="addInfobox('" . addslashes( wfMsg( "infobox" ) ) . "','" . addslashes(wfMsg("infobox_alert")) . "','" . addslashes(wfMsg("infobox_mozvote"))."');\n"; + $toolbar.="addInfobox('" . addslashes( wfMsg( "infobox" ) ) . "','" . addslashes(wfMsg("infobox_alert")) . "');\n"; $toolbar.="document.writeln(\"\");\n"; return $toolbar; } diff --git a/languages/Language.php b/languages/Language.php index fd16df826f..41d10e42c8 100644 --- a/languages/Language.php +++ b/languages/Language.php @@ -723,8 +723,6 @@ Please log in again after you receive it.", "infobox"=>"Click a button to get an example text", # alert box shown in browsers where text selection does not work, test e.g. with mozilla or konqueror "infobox_alert"=>"Please enter the text you want to be formatted.\\n It will be shown in the infobox for copy and pasting.\\nExample:\\n$1\\nwill become:\\n$2", -# only shown for Mozilla users -"infobox_mozvote"=>"\\nPlease vote for bug #231389 to make text selection work in Mozilla!", # Edit pages # diff --git a/stylesheets/wikibits.js b/stylesheets/wikibits.js index bfe1d8c9be..01ff89789f 100644 --- a/stylesheets/wikibits.js +++ b/stylesheets/wikibits.js @@ -1,7 +1,11 @@ // Wikipedia JavaScript support functions -var noOverwrite=false; // if this is true, the toolbar will no longer overwrite the infobox when you move the mouse over individual items + +// if this is true, the toolbar will no longer overwrite the infobox when you move the mouse over individual items +var noOverwrite=false; var alertText; -var mozVote=""; +var clientPC = navigator.userAgent.toLowerCase(); // Get client info +var is_gecko = ((clientPC.indexOf('gecko')!=-1) && (clientPC.indexOf('spoofer')==-1) + && (clientPC.indexOf('khtml') == -1)); // Un-trap us from framesets if( window.top != window ) window.top.location = window.location; @@ -20,7 +24,7 @@ function toggleVisibility( _levelId, _otherId, _linkId) { otherLevel.style.display = 'inline'; linkLevel.style.display = 'none'; } - } +} // Timezone stuff // tz in format [+-]HHMM @@ -94,8 +98,8 @@ function addButton(imageFile, speedTip, tagOpen, tagClose, sampleText) { // we can't change the selection, so we show example texts // when moving the mouse instead, until the first button is clicked - if(!document.selection) { - // filter backslashes so it can be shown in the infobox + if(!document.selection && !is_gecko) { + // filter backslashes so it can be shown in the infobox var re=new RegExp("\\\\n","g"); tagOpen=tagOpen.replace(re,""); tagClose=tagClose.replace(re,""); @@ -110,25 +114,17 @@ function addButton(imageFile, speedTip, tagOpen, tagClose, sampleText) { return; } -function addInfobox(infoText,text_alert,text_moz) { +function addInfobox(infoText,text_alert) { alertText=text_alert; var clientPC = navigator.userAgent.toLowerCase(); // Get client info - if(clientPC.indexOf('gecko')!=-1) { mozVote=text_moz; } var re=new RegExp("\\\\n","g"); alertText=alertText.replace(re,"\n"); - mozVote=mozVote.replace(re,"\n"); // if no support for changing selection, add a small copy & paste field - var clientPC = navigator.userAgent.toLowerCase(); // Get client info - /*var is_nav = ((clientPC.indexOf('mozilla')!=-1) && (clientPC.indexOf('spoofer')==-1) - && (clientPC.indexOf('compatible') == -1) && (clientPC.indexOf('opera')==-1) - && (clientPC.indexOf('webtv')==-1) && (clientPC.indexOf('hotjava')==-1) - && (clientPC.indexOf('khtml')==-1));*/ - - // document.selection is an IE property. If it is not available, we generates - // an infobox used by the toolbar in other browsers. - if(!document.selection) { + // document.selection is an IE-only property. The full toolbar works in IE and + // Gecko-based browsers. + if(!document.selection && !is_gecko) { infoText=escapeQuotesHTML(infoText); document.write("
"+ "